-- 缓存抢红包的列表信息 key
local listKey = 'red_paper_list_'..KEYS[1]

-- 当前被抢红包的 key
local redPaper = 'red_paper_'..KEYS[1]

--获取当前红包的库存
local smallSupCount = tonumber(redis.call('hget', redPaper, 'smallSupCount'))

--没有库存返回0
if smallSupCount <= 0 then return 0 end

-- 库存减一
smallSupCount = smallSupCount -1

-- 保存当前库存
redis.call('hset', redPaper, 'smallSupCount', tostring(smallSupCount))

-- 往链表中加入当前红包信息
redis.call('rpush', listKey, ARGV[1])

--如果最后一个红包返回 2 ，表示红包抢已经结束
if smallSupCount == 0 then return 2 end

-- 如果不是最后一个红包，继续抢
return 1